import type { TodoVO, TodoForm } from './types';
import type { ID, IDS, PageQuery, PageResult } from '#/api/common';
import { commonExport } from '#/api/helper';
import { requestClient } from '#/api/request';

// API 路径定义
const API_PREFIX = '/system/todo';
const API_EXPORT = API_PREFIX + '/export';
const API_LIST = API_PREFIX + '/list';

/**
 * 查询待办事项列表
 * @param params 搜索条件
 * @returns 分页列表
 */
export function todoList(params) {
  return requestClient.get(API_LIST, { params });
}

/**
 * 导出待办事项信息
 * @param data 查询参数
 * @returns blob
 */
export function todoExport(data) {
  return commonExport(API_EXPORT, data);
}

/**
 * 查询待办事项信息
 * @param todoId 待办事项id
 * @returns 待办事项信息
 */
export function todoInfo(todoId) {
  return requestClient.get(API_PREFIX + '/' + todoId);
}

/**
 * 待办事项新增
 * @param data 参数
 * @returns void
 */
export function todoAdd(data) {
  return requestClient.postWithMsg(API_PREFIX, data);
}

/**
 * 待办事项更新
 * @param data 参数
 * @returns void
 */
export function todoUpdate(data) {
  return requestClient.putWithMsg(API_PREFIX, data);
}

/**
 * 待办事项删除
 * @param todoIds ids
 * @returns void
 */
export function todoRemove(todoIds) {
  return requestClient.deleteWithMsg(API_PREFIX + '/' + todoIds);
}
